////#inclde<vector>
//#include"Fixed_length_memory.h"
//int main()
//{
//	TestObjectPool();
//	return 0;
//}
#include<thread>
#include"ConCurrent.h"
#include"Comment.h"


void MultiThreadAlloc1()
{
	std::vector<void*> v;
	for (size_t i = 0; i < 5  ; ++i)
	{
		void* ptr = ConcurrentAlloc(6);
		v.push_back(ptr);
	}

	for (auto e : v)
	{
		ConcurrentFree(e);
	}
}

void MultiThreadAlloc2()
{
	std::vector<void*> v;
	for (size_t i = 0; i < 5; ++i)
	{
		void* ptr = ConcurrentAlloc(16);
		v.push_back(ptr);
	}

	for (auto e : v)
	{
		ConcurrentFree(e);
	}
}

void TestMultiThread()
{
	std::thread t1(MultiThreadAlloc1);

	std::thread t2(MultiThreadAlloc2);
	t1.join();
	t2.join();
}
//int main()
//{
//	TestMultiThread();
//	//int* p = new int;
//	//int* v = p;
//	//*p = 1;
//	//delete v;
//	//*p = 2;
//	/*std::unordered_map<int, int> m;
//
//	m[1]++;
//	m[2]++;
//	m[1]++;
//
//	cout << m[1] << endl;
//	cout << m[1] << endl;*/
//	//void* p1=(void*) ConcurrentAlloc(257*8*1024);
//	//void* p2= ConcurrentAlloc(1);
////	ConcurrentFree(p1, 257*8*1024);
//
//
//
//
//
//	//ConcurrentAlloc(1);
//	/*ConcurrentFree(p1, 1);
//	ConcurrentFree(p2, 1);
//	ConcurrentFree(p2, 1);*/
//
//
//
//
//	for (int i = 0; i <256*1024; i++)
//	{
//		int *p = (int*)ConcurrentAlloc(8);
//		*p = 10;
//		cout << *p << endl;
//	}
//
//	/*for (int i = 0; i < 1024; i++)
//	{
//	void* e = ConcurrentAlloc(6);
//	}
//	void* d = ConcurrentAlloc(6);*/
//
//	//cout << a << endl;
//	//cout << b << endl;
//	//cout << c << endl;
//	//cout << d << endl;
//	//cout << e << endl;
//	return 0;
//}